define("@wsb/guac-widget-shared/lib/common/ols-core/utils/ApiUtils-43b0f989.js",["exports","~/c/OlsConfigStore"],(function(e,t){"use strict";function s(e,t){const s=new URL(e).search?"&":"?",o=[];return Object.entries(t||{}).forEach((e=>{o.push(`${encodeURIComponent(e[0])}=${encodeURIComponent(e[1])}`)})),o.length?`${e}${s}${o.join("&")}`:e}var o=new class{constructor(){this.timestampedRequestsDisabled="undefined"!=typeof window&&/olsTimestampedRequests=false/i.test(window.location.search)}_addDynamicTimestamp(e){return this.timestampedRequestsDisabled?e:s(e,{timestamp:Date.now()})}_makeRequest(e){const s=t.O.getState()||{};let{method:o,url:n,data:r,timeout:u,retryPrevented:a}=e;const{optHeaders:i}=e;let d=s.requestRetries||0;const l=u||s.requestTimeout.default||0;return new Promise((function(e,t){!function s(){let u=new XMLHttpRequest;u.open(o,n),u.timeout=l;let c={};function p(){d-- >0&&!a?s():t({status:u.status,statusText:u.statusText})}u.onload=function(){try{c=JSON.parse(u.response)}catch(e){c={}}if(this.status>=400){let e=new Error(c.error||c.message||u.responseText||"unexpected error");return e.status_code=this.status,t({error:e,response:c})}e(c)},u.onerror=p,u.ontimeout=p,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2?arguments[2]:void 0;e.withCredentials=!0,e.setRequestHeader("Accept","*/*"),t&&e.setRequestHeader("Content-Type","application/json;charset=UTF-8"),s&&Object.keys(s).forEach((t=>{e.setRequestHeader(t,s[t])}))}(u,r,i),r&&"object"==typeof r&&(r=JSON.stringify(r)),u.send(r)}()}))}getRequest(e,t,s,o){let n={method:"GET",url:this._addDynamicTimestamp(e),timeout:s,optHeaders:o};return t&&(n.data=t),this._makeRequest(n)}postRequest(e,t,s){let o={method:"POST",url:e,timeout:s,retryPrevented:arguments.length>3&&void 0!==arguments[3]&&arguments[3],optHeaders:arguments.length>4?arguments[4]:void 0};return t&&(o.data=t),this._makeRequest(o)}putRequest(e,t,s,o){let n={method:"PUT",url:e,timeout:s,optHeaders:o};return t&&(n.data=t),this._makeRequest(n)}patchRequest(e,t,s,o){let n={method:"PATCH",url:e,timeout:s,optHeaders:o};return t&&(n.data=t),this._makeRequest(n)}deleteRequest(e,t,s,o){let n={method:"DELETE",url:e,timeout:s,optHeaders:o};return t&&(n.data=t),this._makeRequest(n)}};function n(){return t.O.getApiBaseUrl()}function r(e){return t.O.getState().requestTimeout[e]}e.X=o,e.a=s,e.loadCategories=function(e){const u=r("default");let a=`${n()}/api/taxonomies/${t.O.getState().categories_taxonomy_id}/taxons`;return e&&(a=s(a,e)),o.getRequest(a,null,u)},e.loadProduct=function(e){const t=r("loadProduct");return o.getRequest(`${n()}/api/v2/products/${e}?app=vnext`,null,t)},e.loadProducts=function(e){const t=r("loadProducts");let u=`${n()}/api/v2/products`;const a={page_fallback:!0,app:"vnext"};return(global._||guac.lodash).assign(a,e),u=s(u,a),o.getRequest(u,null,t)},e.loadSimilarProducts=function(e){const t=r("loadSimilarProducts");return o.getRequest(`${n()}/api/v1/products/${e}/similar_products`,null,t)},Object.defineProperty(e,"__esModule",{value:!0})})),"undefined"!=typeof window&&(window.global=window); //# sourceMappingURL=ApiUtils-43b0f989.js.map